238 research outputs found

    Administrador de proyectos de grid computing que hacen uso de la capacidad de cómputo ociosa de laboratorios informáticos

    Get PDF
    El proceso de aprendizaje, previo al análisis y construcción de la solución propuesta, de las tecnologías investigadas, y aún más, de la tecnología utilizada, fue fundamental en todo el resto del proceso de desarrollo del proyecto. Se muestra el caso de aplicación, basado en la validación de modelos estadísticos de inferencia bayesiana utilizando simulaciones intensivas. Estas simulaciones necesitan una gran capacidad de procesamiento, debido a que utiliza complejas estructuras matemáticas, así como procesos matemáticos muy largos, como generación de datos de entrada, y procesos de simulación iterativos. La cantidad de iteraciones tiende a ser muy grande, con lo que la precisión de toda la simulación es mucho mayor.Tesi

    FORT: una herramienta de regresión borrosa

    Get PDF
    El uso de las técnicas de regresión sobre las observaciones experimentales ha permitido el estudio de numerosos fenómenos en diversos campos de la ciencia, y muy especialmente en las ciencias sociales. Dichas técnicas requieren de un número suficiente de observaciones “precisas”, exactas y fiables. Sin embargo, no siempre es posible obtener el conjunto de observaciones necesario, o éstas contienen algún tipo de imperfección en los datos, debido a la imprecisión o vaguedad de los mismos. En cualquier caso, con suficientes datos o no, con imperfecciones o no, los modelos obtenidos deberían proveer de capacidades predictivas y descriptivas [JCr02]. Las actuales herramientas, o las más fácilmente accesibles, tienen limitado el uso de modelos y difícilmente usan las técnicas de la teoría de conjuntos borrosos. Se propone en este trabajo una herramienta abierta de regresión que admita el uso de cualquier modelo de curva independientemente de su naturaleza. Además, esta herramienta permitirá el uso de diferentes formas de borrosidad y por su diseño permitiría cualquier modelo propuesto por el usuario si éste prevee que éstos tienen características que sean suficientemente predictivas y descriptivas. Esta primera aproximación de una herramienta abierta de regresión se realiza un estudio sobre diferentes modelos paramétricos simbólicos, usados comúnmente en la práctica en disciplinas tan heterogéneas como pueden ser la Ingeniería del Software, la Economía o en cualquier campo en donde puedan aparecer imprecisiones en la información. [ABSTRACT] The use of regression techniques in experimental observations has led to the study of numerous phenomena in various fields of science, especially in social science. These techniques require a sufficient number of “precise”, exact and reliable observations. However, it is not always possible to obtain all the necessary group of observations or these have some failings, as a result of inexact or vague data. Nevertheless, having more or less data, with or without failings, the obtained paradigms should provide predictive and descriptive capacities. The current tools or those more accessible have limited paradigm application and hardly use the techniques relating the fuzzy sets theory. In this first approach to an open regression tool, a study has been carried out of the different parametric, symbolic paradigms, commonly used in the practice of such diverse disciplines as Software Engineering, Economy or any other field where information imprecision can appear

    The use of free software in cloud computing

    Get PDF
    El paradigma de computación en la nube ha tenido un desarrollo importante en su estructura y en los servicios que presta a las diferentes organizaciones que miran en este modelo una alternativa a los grandes procesos computacionales e informáticos que manejan. El software libre y sus herramientas han sido uno de los elementos preponderantes para la construcción de soluciones de cloud computing que tengan disponibilidad para cualquier tipo de usuarios y organizaciones. En el desarrollo del presente documento se hace una descripción teórica acerca de la idea de cloud computing desde sus inicios en el concepto de computación en malla (Grid Computing) hasta la implementación de las nuevas tecnologías de computación en nube que se están aplicando en diferentes áreas de las ciencias, educación y los negocios poniendo especial atención a la participación del software libre en la variedad de soluciones de software de la actualidad. El presente estudio hace un recorrido por los diferentes tipos de prestaciones de cloud computing especialmente las que han sido desarrolladas con software libre y muestra la implementación de un prototipo de plataforma como servicio utilizando aplicaciones de software libre para una nube privada así como también la descripción de las pruebas de funcionalidad de dos aplicaciones de software como servicio. Con la implementación de las diversas soluciones de cloud computing en software libre se establece un estado comparativo donde se evidencia aquellas que presentan mejores capacidades y factibilidad de uso.Universitat Oberta de Catalunya UOCINTRODUCCIÓN 18 1. METODOLOGÍA 20 1.1. ENFOQUE Y TIPO DE ESTUDIO. 20 1.1.1. Seleccionar el diseño apropiado de investigación: 20 1.1.2. Delimitación de la población y de la muestra. 20 1.2. PRODUCTOS ESPERADOS 21 2. ESTADO DEL ARTE SOBRE PROYECTOS DE INVESTIGACIÓN EN CLOUD COMPUTING 23 2.1. CLOUD COMPUTING EN EL CAMPO EDUCATIVO 23 2.2. CLOUD COMPUTING Y LA GESTIÓN DE DATOS A GRAN ESCALA 24 2.3. CLOUD COMPUTING EN LOS PROYECTOS CIENTÍFICOS 25 2.4. CLOUD COMPUTING Y VIRTUALIZACIÓN 27 2.5. CLOUD COMPUTING EN GESTIÓN DE RECURSOS Y SERVICIOS 28 2.6. CLOUD COMPUTING Y LA GESTIÓN DE SEGURIDAD 32 2.7. CLOUD COMPUTING Y SUS PERSPECTIVAS 34 3. MARCO TEÓRICO. 36 3.1. COMPUTACIÓN EN LA NUBE (DEFINICIÓN). 36 3.1.1. Antecedentes históricos de la Computación en la nube: 38 3.1.2. Clasificación de los modelos de Computación en la Nube: 39 3.1.2.1. La Clasificación de la nube modelo SPI: 40 3.1.2.2. La Ontología de la nube de UCSB-IBM: 42 3.1.2.3. Modelo de nube de Hoff: 43 3.1.3. Tipos de Computación en la Nube 45 3.1.4. Proveedores actuales de Computación en la nube: 46 3.1.5. Software libre para la implementación de Computación en la nube 46 3.1.6. Impacto de computación en la nube en organizaciones: 49 3.2. EL SOFTWARE LIBRE 50 3.2.1. Historia del Software Libre:. 54 3.2.2. Tipos de Licencias en el software libre 55 4. EVOLUCIÓN DE GRID COMPUTING A CLOUD COMPUTING 56 4.1. GRID COMPUTING O COMPUTACIÓN DE MALLA. 56 4.1.1. Arquitectura y Funcionalidad de Grid Computing: 60 4.1.1.1. La capa Fábrica (Fabric): 61 4.1.1.2. La capa Conectividad (Connectivity): 61 4.1.1.3. La capa Recursos (Resource): 61 4.1.1.4. La capa Colectivo (Collective): 61 4.1.1.5. La capa de aplicación (Application): 62 4.1.2. Clasificación de Grid Computing:: 63 4.1.2.1. Clasificación de Grids de acuerdo con el enfoque de recursos: 63 4.1.2.2. Clasificación de Grids en función del alcance de uso compartido de recursos: 63 4.1.3. Grid Computing hacia nuevas tecnologías: 67 4.1.3.1. Convergencia de Grid Computing a computación orientada a servicios (SOC):. 68 4.1.3.2. Convergencia de Grid Computing y Software como servicio (SaaS): 70 4.1.3.3. Evolución hacia Cloud Computing 72 4.2. CLOUD COMPUTING (COMPUTACIÓN EN LA NUBE). 73 4.2.1. Modelos de despliegue de Computación en la Nube.. 79 4.2.1.1. Nubes públicas:. 79 4.2.1.2. Nubes privadas: 80 4.2.1.4. Nubes híbridas: 80 4.2.2. Las Tres capas de la arquitectura de la computación en la nube (Cloud Computing) 80 4.2.2.1. Infraestructura como servicio (IaaS). 81 4.2.2.2. Plataforma como servicio (PaaS). 82 4.2.2.3. Software como servicio (SaaS). 84 5. EL USO DEL SOFTWARE LIBRE EN LA EVOLUCION DE GRID COMPUTING A CLOUD COMPUTING 85 5.1. EL USO DE SOFTWARE LIBRE EN GRID COMPUTING (COMPUTACIÓN DE MALLA). 85 5.1.1. Open Grid Forum (OGF). 85 5.1.2. El Open Grid Services Architecture (OGSA): 86 5.1.3. Open Grid Services Infrastructure (OGSI) 86 5.1.4. Globus Toolkit. 87 5.1.5. Estándares y API’s de Grid Computing. 87 5.1.6. Los principales Grid middleware de diferentes proveedores todos bajo licencias libres. 89 5.2. EL USO DE SOFTWARE LIBRE EN CLOUD COMPUTING (COMPUTACIÓN EN LA NUBE). 90 5.2.1. Organizaciones que apoyan los estándares abiertos en cloud computing. 90 5.2.2. Herramientas de Software libre en la capa infraestructura como servicio (IaaS). 91 5.2.2.1. Openstack. 91 5.2.2.2. Open Nebula. 95 5.2.2.3. Eucalyptus 100 5.2.2.4. Nimbus:. 104 5.2.2.5. Ubuntu Enterprise Cloud Architecture (UEC) 106 5.2.2.6. Cuadro Comparativo Proveedores de IaaS, basados en Software Libre 107 5.2.3. Herramientas de Software libre en la capa de plataforma como servicio (PaaS) 109 5.2.3.1. Google AppEngine. 109 5.2.3.2. Appscale. Según App scale 113 5.2.3.3. WSO2 Stratos.. 115 5.2.3.4. CLoud Foundry. 118 5.2.3.5. Wavemaker.. 120 5.2.3.6. Tabla Comparativa Proveedores de PaaS, basada en Software Libre. 124 5.3.1. Herramientas de software como servicio (SaaS) de Software Libre 126 5.3.1.1. Aplicaciones Desktop en la nube. 129 5.3.1.2. Desarrollo de pruebas a EyeOs y Ubuntu One.. 131 5.4. APLICACIÓN TIPO ESCRITORIO EN CLOUD 140 5.5. MAPA CONCEPTUAL DE CLOUD COMPUTING (COMPUTACIÓN EN LA NUBE) 141 6. PROTOTIPO FUNCIONAL BASADO EN EL MODELO DE PLATAFORMA COMO SERVICIO (PAAS) EN UNA NUBE PRIVADA, CON HERRAMIENTAS DE SOFTWARE LIBRE. 143 6.1. PROTOTIPO 1 PAAS PRIVADA BASADO EN MICRO CLOUD FOUNDRY 143 6.1.1. Pasos de implementación del prototipo 1 144 6.1.1.1. Descarga e Instalación Software de virtualización (Vmware Player v.4.0.1). 144 6.1.1.2. Ingreso y registro en el sitio web de Cloud Foundry. 146 6.1.1.3. Carga y configuración de la maquina virtual de Micro Cloud Foundry. 149 6.1.1.4. Ejecución y Configuración MV de Micro Cloud Foundry. 150 6.1.1.5. Instalación de Ruby, RubyGems y VMC (Cliente de línea de Comandos de Vmware) 155 6.1.1.6. Conexión y creación de usuario en el prototipo1 (PaaS) privado. 158 6.1.1.7. Uso y Pruebas del Prototipo1 (PaaS) privado. 159 6.1.1.8. Administración de las aplicaciones. 167 6.1.1.9. Dificultades en la implementación del Prototipo 1. 169 6.1.1.10. Conclusiones en la implementación del Prototipo1 175 6.2. PROTOTIPO 2 PAAS PRIVADA BASADO EN WAVEMAKER Y EUCALYPTUS 176 6.2.1. La topología de red. 176 6.2.2. Instalación de Ubuntu Enterprise Cloud (UEC) 178 6.2.2.1. Instalación UEC maquina A (Front-end) 178 6.2.2.2. Instalación UEC maquina B (Nodo) 189 6.2.2.3. Configuración de la nube privada en Ubuntu Enterprise Cloud (UEC). 191 6.2.3. Instalación y configuración de Plataforma como servicio (PaaS) en la nube privada. 197 6.2.3.1. Instalación y configuración de Wavemaker 197 6.2.3.2. Inicio de Wavemaker studio PaaS 199 6.2.3.3. Pruebas de Wavemaker studio PaaS. 201 7. REFERENCIAS BIBLIOGRÁFICAS. 207MaestríaThe cloud computing paradigm has undergone an important development in its structure and in the services it provides to the different organizations that see this model as an alternative to the large computational and IT processes that they handle. Free software and its tools have been one of the preponderant elements for the construction of cloud computing solutions that are available to any type of user and organization. In the development of this document, a theoretical description about the idea of ​​cloud computing is made from its beginnings in the concept of mesh computing (Grid Computing) to the implementation of new cloud computing technologies that are being applied in different areas science, education and business paying special attention to the participation of free software in the variety of software solutions today. This study takes a tour of the different types of cloud computing services, especially those that have been developed with free software, and shows the implementation of a platform-as-a-service prototype using free software applications for a private cloud, as well as the description of functionality testing of two software-as-a-service applications. With the implementation of the various cloud computing solutions in free software, a comparative status is established where those with the best capabilities and feasibility of use are evident

    Computación de alto desempeño en GPU

    Get PDF
    Este libro es el resultado del trabajo de investigación sobre las características de la GPU y su adopción como arquitectura masivamente paralela para aplicaciones de propósito general. Su propósito es transformarse en una herramienta útil para guiar los primeros pasos de aquellos que se inician en la computación de alto desempeños en GPU. Pretende resumir el estado del arte considerando la bibliografía propuesta. El objetivo no es solamente describir la arquitectura many-core de la GPU y la herramienta de programación CUDA, sino también conducir al lector hacia el desarrollo de programas con buen desempeño. El libro se estructura de la siguiente manera: Capítulo 1: se detallan los conceptos básicos y generales de la computación de alto rendimiento, presentes en el resto del texto. Capítulo 2: describe las características de la arquitectura de la GPU y su evolución histórica. En ambos casos realizando una comparación con la CPU. Finalmente detalla la evolución de la GPU como co-procesador para el desarrollo de aplicaciones de propósito general. Capítulo 3: este capítulo contiene los lineamientos básicos del modelo de programación asociado a CUDA. CUDA provee una interfaz para la comunicación CPU-GPU y la administración de los threads. También se describe las características del modelo de ejecución SIMT asociado. Capítulo 4: analiza las propiedades generales y básicas de la jerarquía de memoria de la GPU, describiendo las propiedades de cada una, la forma de uso y sus ventajas y desventajas. Capítulo 5: comprende un análisis de los diferentes aspectos a tener en cuenta para resolver aplicaciones con buena performance. La programación de GPU con CUDA no es una mera transcripción de un código secuencial a un código paralelo, es necesario tener en cuenta diferentes aspectos para usar de manera eficiente la arquitectura y llevar a cabo una buena programación. Finalmente se incluyen tres apéndices. En el primero se describen los calificadores, tipos y funciones básicos de CUDA, el segundo detalla algunas herramientas simples de la biblioteca cutil.h para el control de la programación en CUDA. El último apéndice describe las capacidades de cómputo de CUDA para las distintas GPU existentes, listando los modelos reales que las poseen.XV Escuela Internacional de Informática, realizada durante el XVII Congreso Argentino de Ciencia de la Computación (CACIC 2011).Red de Universidades con Carreras en Informática (RedUNCI

    Effects on the polarization due to Fast Steering Mirrors

    Get PDF
    En los instrumentos polarimétricos de imagen es necesario introducir un sistema de estabilización de imagen para la adecuada adquisición de las medidas. Esto se realiza mediante un sistema de control en lazo cerrado en el que un espejo, denominado Fast Steering Mirror (FSM), realiza los movimientos de rotación adecuados para estabilizar la imagen mediante actuadores piezoeléctricos que cambian su inclinación (tip-tilt). Es bien conocido que el estado de polarización de un haz cambia, en general, al ser reflejado por un espejo y este cambio viene determinado por el tipo de recubrimientos (i.e.: metálicos, dieléctricos...) y el ángulo de incidencia. Todo ello viene caracterizado por la matriz de Mueller del espejo y es parte de la calibración del instrumento. Sin embargo, el espejo de estabilización cambia su ángulo con el tiempo por lo que producirá efectos de polarización residual sistemática y despolarización. Tradicionalmente se ha asumido que estos efectos son despreciables y no se han tenido en consideración, sin ninguna evaluación en detalle. Esta problemática es extensible a cualquier instrumento polarimétrico que disponga de sistemas de apuntamiento de este tipo. En este trabajo se desarrollan los modelos matemáticos necesarios y se analizan diversos casos prácticos, para poder alcanzar las máximas prestaciones polarimétricas de estos instrumentos. En particular, se ha estudiado el caso del instrumento SO/PHI (Polarimetric and Helioseismic Imager on Solar Orbiter) a bordo de la misión Solar Orbiter de la Agencia Espacial Europea y NASA, así como el caso de instrumentos para la distribución de claves cuántica (QKD, Quantum Key Distribution) que disponen de sistemas FSM similares. De los resultados obtenidos se deduce que los FSM producen cambios en los estados de polarización y despolarización del haz incidente en los instrumentos polarimétricos y, por tanto, deben tenerse en cuenta. La magnitud de estos efectos depende de forma crítica en el ángulo de incidencia nominal, el rango de movimiento de los FSM durante la operación y los tiempos de integración de los detectores del instrumento. Aunque habitualmente, de forma no cuantitativa, se han elegido los parámetros de diseño adecuados en los casos de los sistemas estudiados, los modelos desarrollados en este trabajo permiten definir los requisitos de los FSM durante su diseño para evitar estos efectos indeseados durante el funcionamiento de los instrumentos.In polarimetric imaging instruments it is necessary to introduce an image stabilization system for the proper acquisition of measurements. This is achieved through a closed-loop control system in which a mirror, called Fast Steering Mirror (FSM), performs the appropriate rotational movements to stabilize the image using piezoelectric actuators that change its tilt (tip-tilt ). It is well known that the polarization state of a beam changes, in general, when it is reflected by a mirror and this change is determined by the type of coatings (i.e.: metallic, dielectric...) and the angle of incidence. All of this is characterized by the mirror’s Mueller matrix and is part of the instrument’s calibration. However, the stabilizing mirror changes its angle over time so it will produce systematic residual polarization and depolarization effects. These effects have traditionally been assumed to be negligible and have not been taken into consideration, without any detailed evaluation. This problem is also applicable to any polarimetric instrument that has pointing systems of this type. In this work, the necessary mathematical models are developed and various practical cases are analyzed, in order to achieve the maximum polarimetric performance of these instruments. In particular, the case of the SO/PHI (Polarimetric and Helioseismic Imager on Solar Orbiter) instrument on board the Solar Orbiter mission of the European Space Agency and NASA has been studied, as well as the case of instruments for the distribution of quantum keys ( QKD, Quantum Key Distribution) which have similar FSM systems. On the basis of the obtained results, it is clear that in polarimetric instruments in which FSMs are used the polarization and depolarization state of the incident beam changes, therefore these variations must be taken into account. The magnitude of these effects critically depends on the nominal angle of incidence, the range of motion of the FSMs during operation, and the integration times of the instrument’s detectors. Although usually, in a non-quantitative way, the appropriate design parameters have been chosen in the cases of the studied systems, the models developed in this work allow defining the requirements of the FSM during their design to avoid these undesired effects during the operation of the systems. instruments. instrumentos.Máster Universitario en Ingeniería Electrónic

    MEJORA DEL RENDIMIENTO DE LAS OPERACIONES DE LA PLATAFORMA IPCC (IP CONTACT CENTER) REALIZANDO SU MIGRACION E INCLUSION DENTRO DEL CLOUD COMPUTING

    Get PDF
    ESTADO DEL ARTE VIRTUALIZACIÓN CLOUD COMPUTING TELEFONÍA IP IP CONTAC CENTER GMD LA EMPRESA: GRUPO GRAÑA Y MONTERO SOFTWARE INTELLIGENT CONTACT MANAGEMENT – ICM UNIFICADO PARA IPCC DESCRIPCIÓN GENERAL DE LA PLATAFORMA IP CONTACT CENTER CISCO AGENT DESKTOP (CAD) CISCO SUPERVISOR DESKTOP (CSD) CISCO UNIFIED CM ADMINISTRATION (CALL MANAGER) CISCO UNIFIED INTELLIGENCE CENTER (CUIC) SISTEMA DE MONITOREO Y CONTROL GSM DE LICEAS TOPEX CISCO UNIFIED SIP PROXY (CUSP

    Uso de infraestructuras híbridas Grid y Cloud para la computación científica

    Full text link
    [ES] El auge de las técnicas de virtualización en los últimos años ha propiciado la aparición del Cloud Computing. Esta nueva tecnología ha abierto un camino hacia el empleo de infraestructuras computacionales híbridas en el ámbito científico, basadas en potentes recursos Grid combinados con las infraestructuras virtuales dinámicas y elásticas que proporciona el Cloud. Pero esta combinación de recursos para dar soporte a ejecuciones de aplicaciones científicas intensivas no es trivial, propiciando la aparición de nuevos retos y oportunidades en áreas como la provisión de recursos o la metaplanificación. En esta tesis de máster, en primer lugar, se han desarrollado modelos teóricos de metaplanificación híbrida Grid/Cloud que permiten la integración y aprovechamiento de ambas infraestructuras por aplicaciones científicas HTC (High Throughput Computing) de acuerdo al estado del arte actual. Estos modelos teóricos se han puesto en práctica a través del desarrollo de herramientas que permiten el despliegue y ejecución concurrente de aplicaciones científicas sobre plataformas Grid y Cloud (incluyendo Clouds privados y públicos). En segundo lugar, se ha realizado un estudio de la sobrecarga que supone el proceso de virtualización con respecto a una máquina física. Finalmente, para poder valorar y poner en práctica la efectividad de los modelos, se ha incluido un caso de estudio para una aplicación científica computacionalmente compleja capaz de realizar el proceso de diseño de proteínas de propósito específico.[EN] The advent of virtualization techniques in recent years has led to the emergence of Cloud Computing. This new technology has paved the way towards the use of hybrid computing infrastructures in science, based on powerful Grid resources combined with dynamic and elastic virtual infrastructures that provides the Cloud. But this combination of resources to support the execution of computationally intensive scientific applications is not trivial, giving rise to new challenges and opportunities in areas such as the provision of resources or meta-scheduling. This master's thesis, has first developed theoretical models of hybrid Grid/Cloud metascheduling that enable the integration and use of both infrastructures by scientific HTC (High Throughput Computing) applications according to the current state of art. These theoretical models have been implemented through the development of prototype implementations that allow the deployment and concurrent execution of scientific applications on Grid and Cloud platforms (including private and public Clouds). Secondly, we have made a study of the overheads of the virtualization process with respect to a physical machine. Finally, it assesses the effectiveness of the models. For that, we have included a case study that involves a computationally intensive scientific application that is able to perform the optimization of proteins with target properties.Calatrava Arroyo, A. (2012). Uso de infraestructuras híbridas Grid y Cloud para la computación científica. http://hdl.handle.net/10251/27150Archivo delegad

    Gestión de recursos en nodos multi-core de memoria compartida

    Get PDF
    La gestión de recursos en los procesadores multi-core ha ganado importancia con la evolución de las aplicaciones y arquitecturas. Pero esta gestión es muy compleja. Por ejemplo, una misma aplicación paralela ejecutada múltiples veces con los mismos datos de entrada, en un único nodo multi-core, puede tener tiempos de ejecución muy variables. Hay múltiples factores hardware y software que afectan al rendimiento. La forma en que los recursos hardware (cómputo y memoria) se asignan a los procesos o threads, posiblemente de varias aplicaciones que compiten entre sí, es fundamental para determinar este rendimiento. La diferencia entre hacer la asignación de recursos sin conocer la verdadera necesidad de la aplicación, frente a asignación con una meta específica es cada vez mayor. La mejor manera de realizar esta asignación és automáticamente, con una mínima intervención del programador. Es importante destacar, que la forma en que la aplicación se ejecuta en una arquitectura no necesariamente es la más adecuada, y esta situación puede mejorarse a través de la gestión adecuada de los recursos disponibles. Una apropiada gestión de recursos puede ofrecer ventajas tanto al desarrollador de las aplicaciones, como al entorno informático donde ésta se ejecuta, permitiendo un mayor número de aplicaciones en ejecución con la misma cantidad de recursos. Así mismo, esta gestión de recursos no requeriría introducir cambios a la aplicación, o a su estrategia operativa. A fin de proponer políticas para la gestión de los recursos, se analizó el comportamiento de aplicaciones intensivas de cómputo e intensivas de memoria. Este análisis se llevó a cabo a través del estudio de los parámetros de ubicación entre los cores, la necesidad de usar la memoria compartida, el tamaño de la carga de entrada, la distribución de los datos dentro del procesador y la granularidad de trabajo. Nuestro objetivo es identificar cómo estos parámetros influyen en la eficiencia de la ejecución, identificar cuellos de botella y proponer posibles mejoras. Otra propuesta es adaptar las estrategias ya utilizadas por el Scheduler con el fin de obtener mejores resultados.La gestió de recursos en els processadors multi-core ha guanyat importància amb l'evolució de les aplicacions i arquitectures. Però aquesta gestió és molt complexa. Per exemple, una mateixa aplicació paral·lela executada múltiples vegades amb les mateixes dades d'entrada, en un únic node multi-core, pot tenir temps d'execució molt variables. Hi han múltiples factors del maquinari i programari que afecten el rendiment. La forma en què els recursos del maquinari (còmput i memòria) s'assignen als processos o threads, possiblement de diverses aplicacions que competeixen entre si, és fonamental per determinar aquest rendiment. La diferència entre fer assignació dels recursos sense conèixer la veritable necessitat de l'aplicació, amb una assignació amb un objectiu específic és cada vegada més gran. La millor manera de fer aquesta assignació és automàticament, amb una mínima intervenció del programador. És important destacar que, la forma en que l'aplicació s'executa en una arquitectura, no necessàriament és la més adequada; i aquesta situació pot millorar a través de la gestió adequada dels recursos disponibles. Una apropiada gestió de recursos pot oferir avantatges tant al desenvolupador de les aplicacions, a través d'una correcta abstracció en l'administració d'aquests recursos, així com a l'entorn informàtic on aquesta s'executa, permetent un major nombre d'aplicacions en execució amb la mateixa quantitat de recursos. Així mateix, aquesta gestió dels recursos no requeriria introduir canvis a l'aplicació, o a la seva estratègia operativa. Per tal de proposar polítiques per a la gestió dels recursos, es va analitzar el comportament de aplicacions intensives de còmput i intensives de memòria. Aquest anàlisi es va dur a terme a través de l'estudi dels paràmetres d'ubicació entre els cores, la necessitat d'usar la memòria compartida, la mida de la càrrega d'entrada, la distribució de les dades dins del processador i la granularitat de treball. El nostre objectiu és identificar com aquests paràmetres influeixen en l'eficiència de l'execució, identificar colls d'ampolla i proposar possibles millores. Una altra proposta és adaptar les estratègies ja utilitzades pel Scheduler amb la finalitat d'obtenir millors resultats.Resource management in Multi-core processors has become more important with the evolution of applications and architectures. However, this management is very complex. For example, the same parallel application running several times with the same input data in a single multi-core node, can have variable times of execution. There are many hardware and software factors that affect performance. The way that resources (computation and memory) are distributed among the processes or threads, possibly belonging to multiple applications that compete with each other, is crucial to determine its performance. The difference between doing this distribution of resources without knowing real application requirements and the distribution with a specific purpose is increasing. The best way to do this distribution is automatically, with minimal intervention from the programmer. It is important to emphasize that the way an application is executed on an architecture, is not necessarily the best and this situation can be improved by appropriate management of available resources. A proper management of resources can offer advantages to application developers, through a correct abstraction in the administration of these resources, as well as the computing environment where it runs, allowing a greater number of applications running with the same quantity of resources. Therefore, this resource management does not require changes in the application or in its execution. With the intention to propose policies for resource management, the behavior of intensive applications in computation and memory was analyzed. This analysis was done through the study of parameters location between the cores, necessity of using shared memory, the size of the load input, the distribution of data within the processor and the granularity of work. Our purpose is to identify how these parameters affect the efficiency of implementation, identify bottlenecks and propose possible improvements. Another proposal is to adapt the strategy already used by the Scheduler with the intention to obtain better results.A gestão de recursos nos processadores multi-core ganhou importância com a evolução das aplicações e arquiteturas. Porém esta gestão é muito complexa. Por exemplo, uma mesma aplicação paralela executando muitas vezes com os mesmo dados de entrada, em um único nó multi-core, pode ter tempos de execução muito variáveis. Existem muitos fatores de hardware e software que afetam este rendimento. A forma que os recursos (cômputo e memória) se distribuem entre os processos ou threads, possivelmente de várias aplicações que competem entre si, é fundamental para determinar o seu rendimento. A diferença entre fazer esta distribuição de recursos sem conhecer a verdadeira necessidade da aplicação, por uma distribuição com um objetivo específico é cada vez maior. A melhor maneira de fazer esta distribuição é automaticamente, com uma mínima intervenção do programador. É importante destacar, que a forma em que a aplicação se executa em uma arquitetura não é necessariamente a mais adequada, e está situação pode melhorar através da gestão adequada dos recursos disponíveis. Uma apropriada gestão dos recursos pode oferecer vantagens tanto para o desenvolvedor das aplicações, através de uma correta abstração na administração destes recursos, assim como o ambiente informático onde se executa, permitindo um maior numero de aplicações em execução com a mesma quantidade de recursos. Assim mesmo, esta gestão de recursos não requer introduzir mudanças na aplicação, ou na sua forma de execução. Com a intenção de propor políticas para a gestão de recursos, analisamos o comportamento de aplicações intensivas em cômputo e memória. Está análise foi feita através dos estudos dos parâmetros de localização entre os cores, a necessidade de uso da memória compartilhada, o tamanho da carga de entrada, a distribuição dos dados dentro do processador e a granularidade de trabalho. Nosso objetivo é identificar como estes parâmetros influem na eficiência da execução, identificar gargalos e propor possíveis melhoras. Outra proposta é adaptar a estratégia já utilizada pelo Scheduler com a intenção de obter melhores resultados

    Novel parallel approaches to efficiently solve spatial problems on heterogeneous CPU-GPU systems

    Get PDF
    Addressing this task is difficult as (i) it requires analysing large databases in a short time, and (ii) it is commonly addressed by combining different methods with complex data dependencies, making it challenging to exploit parallelism on heterogeneous CPU-GPU systems. Moreover, most efforts in this context focus on improving the accuracy of the approaches and neglect reducing the processing time—the most accurate algorithm was designed to process the fingerprints using a single thread. We developed a new methodology to address the latent fingerprint identification problem called “Asynchronous processing for Latent Fingerprint Identification” (ALFI) that speeds up processing while maintaining high accuracy. ALFI exploits all the resources of CPU-GPU systems using asynchronous processing and fine-coarse parallelism to analyse massive fingerprint databases. We assessed the performance of ALFI on Linux and Windows operating systems using the well-known NIST/FVC databases. Experimental results revealed that ALFI is on average 22x faster than the state-of-the-art identification algorithm, reaching a speed-up of 44.7x for the best-studied case. In terrain analysis, Digital Elevation Models (DEMs) are relevant datasets used as input to those algorithms that typically sweep the terrain to analyse its main topological features such as visibility, elevation, and slope. The most challenging computation related to this topic is the total viewshed problem. It involves computing the viewshed—the visible area of the terrain—for each of the points in the DEM. The algorithms intended to solve this problem require many memory accesses to 2D arrays, which, despite being regular, lead to poor data locality in memory. We proposed a methodology called “skewed Digital Elevation Model” (sDEM) that substantially improves the locality of memory accesses and exploits the inherent parallelism of rotational sweep-based algorithms. Particularly, sDEM applies a data relocation technique before accessing the memory and computing the viewshed, thus significantly reducing the execution time. Different implementations are provided for single-core, multi-core, single-GPU, and multi-GPU platforms. We carried out two experiments to compare sDEM with (i) the most used geographic information systems (GIS) software and (ii) the state-of-the-art algorithm for solving the total viewshed problem. In the first experiment, sDEM results on average 8.8x faster than current GIS software, despite considering only a few points because of the limitations of the GIS software. In the second experiment, sDEM is 827.3x faster than the state-of-the-art algorithm considering the best case. The use of Unmanned Aerial Vehicles (UAVs) with multiple onboard sensors has grown enormously in tasks involving terrain coverage, such as environmental and civil monitoring, disaster management, and forest fire fighting. Many of these tasks require a quick and early response, which makes maximising the land covered from the flight path an essential goal, especially when the area to be monitored is irregular, large, and includes many blind spots. In this regard, state-of-the-art total viewshed algorithms can help analyse large areas and find new paths providing all-round visibility. We designed a new heuristic called “Visibility-based Path Planning” (VPP) to solve the path planning problem in large areas based on a thorough visibility analysis. VPP generates flyable paths that provide high visual coverage to monitor forest regions using the onboard camera of a single UAV. For this purpose, the hidden areas of the target territory are identified and considered when generating the path. Simulation results showed that VPP covers up to 98.7% of the Montes de Malaga Natural Park and 94.5% of the Sierra de las Nieves National Park, both located in the province of Malaga (Spain). In addition, a real flight test confirmed the high visibility achieved using VPP. Our methodology and analysis can be easily applied to enhance monitoring in other large outdoor areas.In recent years, approaches that seek to extract valuable information from large datasets have become particularly relevant in today's society. In this category, we can highlight those problems that comprise data analysis distributed across two-dimensional scenarios called spatial problems. These usually involve processing (i) a series of features distributed across a given plane or (ii) a matrix of values where each cell corresponds to a point on the plane. Therefore, we can see the open-ended and complex nature of spatial problems, but it also leaves room for imagination to be applied in the search for new solutions. One of the main complications we encounter when dealing with spatial problems is that they are very computationally intensive, typically taking a long time to produce the desired result. This drawback is also an opportunity to use heterogeneous systems to address spatial problems more efficiently. Heterogeneous systems give the developer greater freedom to speed up suitable algorithms by increasing the parallel programming options available, making it possible for different parts of a program to run on the dedicated hardware that suits them best. Several of the spatial problems that have not been optimised for heterogeneous systems cover very diverse areas that seem vastly different at first sight. However, they are closely related due to common data processing requirements, making them suitable for using dedicated hardware. In particular, this thesis provides new parallel approaches to tackle the following three crucial spatial problems: latent fingerprint identification, total viewshed computation, and path planning based on maximising visibility in large regions. Latent fingerprint identification is one of the essential identification procedures in criminal investigations. Addressing this task is difficult as (i) it requires analysing large databases in a short time, and (ii) it is commonly addressed by combining different methods with complex data dependencies, making it challenging to exploit parallelism on heterogeneous CPU-GPU systems. Moreover, most efforts in this context focus on improving the accuracy of the approaches and neglect reducing the processing time—the most accurate algorithm was designed to process the fingerprints using a single thread. We developed a new methodology to address the latent fingerprint identification problem called “Asynchronous processing for Latent Fingerprint Identification” (ALFI) that speeds up processing while maintaining high accuracy. ALFI exploits all the resources of CPU-GPU systems using asynchronous processing and fine-coarse parallelism to analyse massive fingerprint databases. We assessed the performance of ALFI on Linux and Windows operating systems using the well-known NIST/FVC databases. Experimental results revealed that ALFI is on average 22x faster than the state-of-the-art identification algorithm, reaching a speed-up of 44.7x for the best-studied case. In terrain analysis, Digital Elevation Models (DEMs) are relevant datasets used as input to those algorithms that typically sweep the terrain to analyse its main topological features such as visibility, elevation, and slope. The most challenging computation related to this topic is the total viewshed problem. It involves computing the viewshed—the visible area of the terrain—for each of the points in the DEM. The algorithms intended to solve this problem require many memory accesses to 2D arrays, which, despite being regular, lead to poor data locality in memory. We proposed a methodology called “skewed Digital Elevation Model” (sDEM) that substantially improves the locality of memory accesses and exploits the inherent parallelism of rotational sweep-based algorithms. Particularly, sDEM applies a data relocation technique before accessing the memory and computing the viewshed, thus significantly reducing the execution time. Different implementations are provided for single-core, multi-core, single-GPU, and multi-GPU platforms. We carried out two experiments to compare sDEM with (i) the most used geographic information systems (GIS) software and (ii) the state-of-the-art algorithm for solving the total viewshed problem. In the first experiment, sDEM results on average 8.8x faster than current GIS software, despite considering only a few points because of the limitations of the GIS software. In the second experiment, sDEM is 827.3x faster than the state-of-the-art algorithm considering the best case. The use of Unmanned Aerial Vehicles (UAVs) with multiple onboard sensors has grown enormously in tasks involving terrain coverage, such as environmental and civil monitoring, disaster management, and forest fire fighting. Many of these tasks require a quick and early response, which makes maximising the land covered from the flight path an essential goal, especially when the area to be monitored is irregular, large, and includes many blind spots. In this regard, state-of-the-art total viewshed algorithms can help analyse large areas and find new paths providing all-round visibility. We designed a new heuristic called “Visibility-based Path Planning” (VPP) to solve the path planning problem in large areas based on a thorough visibility analysis. VPP generates flyable paths that provide high visual coverage to monitor forest regions using the onboard camera of a single UAV. For this purpose, the hidden areas of the target territory are identified and considered when generating the path. Simulation results showed that VPP covers up to 98.7% of the Montes de Malaga Natural Park and 94.5% of the Sierra de las Nieves National Park, both located in the province of Malaga (Spain). In addition, a real flight test confirmed the high visibility achieved using VPP. Our methodology and analysis can be easily applied to enhance monitoring in other large outdoor areas

    Modelado del rendimiento de códigos irregulares paralelos en sistemas distribuidos

    Get PDF
    La evolución de las tecnologías de la información nos permite abordar problemas en ciencia e ingeniería cada vez más grandes, complejos y con mejor resolución, obteniendo soluciones en un tiempo razonable. La necesidad, o posibilidad, de resolver estos problemas requieren, cada día más, el uso de las grandes infraestructuras computacionales disponibles en los centros de cálculo, o de los recursos distribuidos y coordinados a través de computación Grid sin necesidad de un control centralizado. Debido a esto, la programación en arquitecturas distribuidas es cada vez más popular, y, muchas veces, imprescindible, entre los miembros de la comunidad científica. Muchas veces se reciclan viejas técnicas para tratar con las nuevas arquitecturas. Así, los métodos de predicción de rendimiento, usados frecuentemente tanto por los arquitectos de computadores como por los creadores de compiladores, pueden ser adaptados para tener en cuenta las peculiaridades de estos nuevos sistemas distribuidos. Pero no todos los algoritmos pueden ser tratados de la misma forma. Hay una categoría especial de problemas, los llamados códigos irregulares, en los que cálculos, control de flujo, patrón de acceso a memoria y comunicaciones durante la ejecución dependen fuertemente de los datos de entrada, y no pueden ser caracterizados correctamente de forma estática. Estos problemas aparecen cada vez con mayor frecuencia en el software científico y de ingeniería. En este documento describimos una metodología que nos permite crear modelos de predicción de rendimiento de códigos irregulares para arquitecturas paralelas y distribuidas, metodología que se ha aplicado a un grupo escogido de algoritmos. Los algoritmos seleccionados corresponden todos a aplicaciones reales, que representan distintas categorías de códigos irregulares. Estos algoritmos cubren diferentes ámbitos de interés en ciencia y tecnología, incluyendo desde la resolución de sistemas de ecuaciones con matrices dispersas hasta métodos heurísticos de optimización. Sobre todos estos algoritmos se han llevado a cabo diferentes tipos de análisis para caracterizar su comportamiento ante diversas configuraciones de los sistemas computacionales y de los datos de entrada. El procesos ha supuesto distintas aproximaciones al problema de la modelización de códigos irregulares tanto en el aspectos de las computaciones como en el de las comunicaciones
    corecore